High-Rate Entity Processing

For systems that process entities at rates higher than one hundred units per minute, using discrete entities could make the simulation extremely slow. For this reason, ProModel uses tanks. To use a tank to model high-rate processing, think of the tank as a buffer where the tank level represents the number of items in the buffer. For example, suppose that bottles feed through a filling station at a rate of 110 per minute. The input buffer, FillerInput, has a capacity of 1200 bottles and the output buffer, FillerOutput, has a capacity of 2000 bottles. If FillerOutput is full, processing stops until the quantity in the output buffer drops to 1500 bottles. An arriving container feeds quantities of 200 bottles to the FillerInput location and it takes 1 minute to unload the container. When the filling station fills 50 bottles, workers put the bottles into a box (represented by an entity) and ship them. Since workers load the boxes as soon as the bottles complete the filling process, there is no delay time involved.

The operation logic for the container at the arriving location would be as follows:

High-rate processing

WAIT 1 min

Tank_Inc (FillerInput, 200)

To model the processing of bottles from FillerInput to FillerOutput, enter the following statement in the model initialization logic.

High-rate processing

ACTIVATE Tank_Transfer(FillerInput, FillerOutput, 999999, 110, 0, 1500)

This statement causes the FillerInput tank to transfer bottles to FillerOutput at a rate of 110 per minute whenever there are bottles in FillerInput and capacity available in FillerOutput. The resume level is 1500. (Up to 999999 bottles will transfer.)

To model the creation of a 50-bottle box each time the filling station fills 50 bottles, define and activate the following subroutine in the model initialization logic:

Create new, combined unit

Tank Loop //causes logic to repeat continuously

{

Tank_Dec(FillerOutput, 50)

Order 1 Box to Shipping

}

Please note

The Tank_Dec statement automatically removes 50 bottles from FillerOutput whenever there are at least 50 bottles available.